from enum import IntEnum, Enum


class DateFormat(Enum):
    HM = '%H%M'
    M_S = '%M:%S'
    HMS = '%H%M%S'
    H_M_S = '%H:%M:%S'
    Y_m_d = '%Y-%m-%d'
    Ymd = '%Y%m%d'
    YmdHM = '%Y%m%d%H%M'
    Y_m_d_H_M_S = '%Y-%m-%d %H:%M:%S'
    YmdHMS = '%Y%m%d%H%M%S'


class Period(IntEnum):
    """
    策略周期类型
    """
    day = 2
    """日"""
    minute30 = 3
    """30分钟"""
    minute5 = 4
    """5分钟"""
    minute1 = 5
    """1分钟"""


class StockTradeDataName(Enum):
    STOCK_CODE = 'ts_code'
    """股票代码"""
    STOCK_CODE_FULL = 'ts_code_full'
    """股票代码带交易所标志"""
    NAME = 'name'
    """股票代码"""
    DATE_INDEX = 'date_index'
    """日期索引"""
    TRADE_DATE = 'trade_date'
    """
    交易日期： 格式为%Y%m%d或%Y%m%d%H%M%S
    """
    OPEN = 'open'
    """开盘价"""
    HIGH = 'high'
    """最高价"""
    LOW = 'low'
    """最低价"""
    CLOSE = 'close'
    """收盘价"""
    PRE_CLOSE = 'pre_close'
    """昨收价"""
    AFTER_CLOSE = 'after_close'
    """明天收盘价"""
    CHANGE = 'change'
    """涨跌额"""
    PCT_CHG = 'pct_chg'
    """涨跌幅"""
    VOL = 'vol'
    """成交量 （手）"""
    AMOUNT = 'amount'
    """成交额 （千元）"""
    TURNOVER_RATE = 'turnover_rate'
    """
    换手率
        也称做周转率，是指在一定的时间内市场中股票转手买卖的频率，是反映股票流通性强弱的一个指标。
        公式为：周转率(换手率)=(某一段时期内的成交量)/(发行总股数)x100%
    """
    STOCK_AMPLITUDE = 'stock_amplitude'
    """
    振幅
        股票开盘后的当日最高价和最低价之间的差的绝对值与前日收盘价的百分比，它在一定程度上表现股票的活跃程度。
    """